package com.fetaphon.blelibrary.entity.data;

import com.fetaphon.blelibrary.utils.ByteUtils;

/**
 * 电流参数
 */
public class CurrentParams {

    private long p1;
    private long p2;
    private long p3;
    private long p4;
    private long p5;
    private long p6;
    private long p7;
    private long p8;
    private long p9;
    private long p10;
    private long p11;
    private long p12;
    private long p13;
    private long p14;
    private long p15;
    private long p16;
    private long p17;

    public CurrentParams(byte[] bytes) {
        byte[] bytes1 = ByteUtils.subBytes(bytes, 0, 4);
        byte[] bytes2 = ByteUtils.subBytes(bytes, 4, 4);
        byte[] bytes3 = ByteUtils.subBytes(bytes, 8, 2);
        byte[] bytes4 = ByteUtils.subBytes(bytes, 10, 4);
        byte[] bytes5 = ByteUtils.subBytes(bytes, 14, 2);
        byte[] bytes6 = ByteUtils.subBytes(bytes, 16, 2);
        byte[] bytes7 = ByteUtils.subBytes(bytes, 18, 4);
        byte[] bytes8 = ByteUtils.subBytes(bytes, 22, 4);
        byte[] bytes9 = ByteUtils.subBytes(bytes, 26, 2);
        byte[] bytes10 = ByteUtils.subBytes(bytes, 28, 4);
        byte[] bytes11 = ByteUtils.subBytes(bytes, 32, 2);
        byte[] bytes12 = ByteUtils.subBytes(bytes, 34, 2);
        byte[] bytes13 = ByteUtils.subBytes(bytes, 36, 4);
        byte[] bytes14 = ByteUtils.subBytes(bytes, 40, 2);
        byte[] bytes15 = ByteUtils.subBytes(bytes, 42, 2);
        byte[] bytes16 = ByteUtils.subBytes(bytes, 44, 4);
        byte[] bytes17 = ByteUtils.subBytes(bytes, 48, 2);

        p1 = ByteUtils.byteToLong(bytes1);
        p2 = ByteUtils.byteToLong(bytes2);
        p3 = ByteUtils.byteToLong(bytes3);
        p4 = ByteUtils.byteToLong(bytes4);
        p5 = ByteUtils.byteToLong(bytes5);
        p6 = ByteUtils.byteToLong(bytes6);
        p7 = ByteUtils.byteToLong(bytes7);
        p8 = ByteUtils.byteToLong(bytes8);
        p9 = ByteUtils.byteToLong(bytes9);
        p10 = ByteUtils.byteToLong(bytes10);
        p11 = ByteUtils.byteToLong(bytes11);
        p12 = ByteUtils.byteToLong(bytes12);
        p13 = ByteUtils.byteToLong(bytes13);
        p14 = ByteUtils.byteToLong(bytes14);
        p15 = ByteUtils.byteToLong(bytes15);
        p16 = ByteUtils.byteToLong(bytes16);
        p17 = ByteUtils.byteToLong(bytes17);
    }

    public byte[] getCurrentParamsBytes() {
        byte[] b1 = ByteUtils.long2Bytes(p1, 4);
        byte[] b2 = ByteUtils.long2Bytes(p2, 4);
        byte[] b3 = ByteUtils.long2Bytes(p3, 2);
        byte[] b4 = ByteUtils.long2Bytes(p4, 4);
        byte[] b5 = ByteUtils.long2Bytes(p5, 4);
        byte[] b6 = ByteUtils.long2Bytes(p6, 2);
        byte[] b7 = ByteUtils.long2Bytes(p7, 4);
        byte[] b8 = ByteUtils.long2Bytes(p8, 4);
        byte[] b9 = ByteUtils.long2Bytes(p9, 2);
        byte[] b10 = ByteUtils.long2Bytes(p10, 4);
        byte[] b11 = ByteUtils.long2Bytes(p11, 2);
        byte[] b12 = ByteUtils.long2Bytes(p12, 2);
        byte[] b13 = ByteUtils.long2Bytes(p13, 4);
        byte[] b14 = ByteUtils.long2Bytes(p14, 2);
        byte[] b15 = ByteUtils.long2Bytes(p15, 2);
        byte[] b16 = ByteUtils.long2Bytes(p16, 4);
        byte[] b17 = ByteUtils.long2Bytes(p17, 2);
        return ByteUtils.byteMerge(b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16,
                b17);
    }

    public long getP1() {
        return p1;
    }

    public void setP1(long p1) {
        this.p1 = p1;
    }

    public long getP2() {
        return p2;
    }

    public void setP2(long p2) {
        this.p2 = p2;
    }

    public long getP3() {
        return p3;
    }

    public void setP3(long p3) {
        this.p3 = p3;
    }

    public long getP4() {
        return p4;
    }

    public void setP4(long p4) {
        this.p4 = p4;
    }

    public long getP5() {
        return p5;
    }

    public void setP5(long p5) {
        this.p5 = p5;
    }

    public long getP6() {
        return p6;
    }

    public void setP6(long p6) {
        this.p6 = p6;
    }

    public long getP7() {
        return p7;
    }

    public void setP7(long p7) {
        this.p7 = p7;
    }

    public long getP8() {
        return p8;
    }

    public void setP8(long p8) {
        this.p8 = p8;
    }

    public long getP9() {
        return p9;
    }

    public void setP9(long p9) {
        this.p9 = p9;
    }

    public long getP10() {
        return p10;
    }

    public void setP10(long p10) {
        this.p10 = p10;
    }

    public long getP11() {
        return p11;
    }

    public void setP11(long p11) {
        this.p11 = p11;
    }

    public long getP12() {
        return p12;
    }

    public void setP12(long p12) {
        this.p12 = p12;
    }

    public long getP13() {
        return p13;
    }

    public void setP13(long p13) {
        this.p13 = p13;
    }

    public long getP14() {
        return p14;
    }

    public void setP14(long p14) {
        this.p14 = p14;
    }

    public long getP15() {
        return p15;
    }

    public void setP15(long p15) {
        this.p15 = p15;
    }

    public long getP16() {
        return p16;
    }

    public void setP16(long p16) {
        this.p16 = p16;
    }

    public long getP17() {
        return p17;
    }

    public void setP17(long p17) {
        this.p17 = p17;
    }
}
